<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

</body>
<script>
    /**
     * 计算嵌套数组的最大维度（深度）
     * 非数组输入视为0维，空数组视为1维
     * @param {any} arr - 待检查的输入值，数组类型时进行递归计算
     * @returns {number} 数组的嵌套维度：
     *   - 非数组返回0
     *   - 空数组返回1
     *   - 嵌套数组返回最大深度+1
     */
    function getTheDimensions(arr) {
        // 基础类型检查：非数组直接返回0维
        if (!Array.isArray(arr)) {
            return 0
        }

        // 初始化子元素最大维度记录
        let dimensions = 0

        // 递归遍历所有子元素并获取最大深度
        for (let child of arr) {
            let currentDepth = getTheDimensions(child)

            // 更新遇到的子元素最大维度
            if (currentDepth > dimensions) {
                dimensions = currentDepth
            }
        }

        // 当前数组层(+1) + 子元素最大维度
        return 1 + dimensions
    }

	function dimensionCompare(arr1,arr2){
		const arr1Depth = getTheDimensions(arr1)
		const arr2Depth = getTheDimensions(arr2)
		// 1:第一个深度大 0：深度相同 -1：第二个深度大
		if (arr1Depth > arr2Depth){
			return 1
		} else if(arr1Depth < arr2Depth){
			return  -1
		} else {
			return 0
		}
	}
	let arr1 = [
		1,
		[
			2,
			3,
			[
				4,
				5
			],
			[]
		],
		[
			7,
			[
				[
					[
						8
					]
				]
			]
		]
	]
	let arr2 = [1,[2,[3]]]
	console.log(dimensionCompare(arr2,arr1))
</script>
</html>
